Information processing apparatus, method and non-transitory computer-readable storage medium

ABSTRACT

An information processing apparatus includes a memory, and a processor coupled to the memory and configured to specify a first signal level of a first voice signal, specify a second signal level of a second voice signal, and execute evaluation of at least one of the first voice signal and the second voice signal based on at least one of a sum of the first signal level and the second signal level and an average of the first signal level and the second signal level.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-139228, filed on Jul. 18, 2017, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to an information processing apparatus, a method and a non-transitory computer-readable storage medium.

BACKGROUND

In the recent conventional technology, the impression of conversation is evaluated from voice of speakers to support execution of smooth communication.

FIG. 14 is a diagram for description of an exemplary conventional technology. The following describes an example in which the impression of conversation speaker A and speaker B is evaluated. As illustrated in FIG. 14, a device 10 according to the conventional technology includes speech interval detection units 11 a and 11 b, an overlapping time calculation unit 12, and a determination unit 13.

The speech interval detection unit 11 a is a processing unit configured to detect the interval of speech of speaker A from voice of speaker A. The speech interval detection unit 11 a outputs information on the speech interval of speaker A to the overlapping time calculation unit 12.

The speech interval detection unit 11 b is a processing unit configured to detect the interval of speech of speaker B from voice of speaker B. The speech interval detection unit 11 b outputs information on the speech interval of speaker B to the overlapping time calculation unit 12.

The overlapping time calculation unit 12 is a processing unit configured to calculate an overlapping time between the speech interval of speaker A and the speech interval of speaker B. FIG. 15 is a diagram for description of processing at the overlapping time calculation unit. As illustrated in FIG. 15, when the speech interval of speaker A extends from T_(a1) to T_(a2) and the speech interval of speaker B extends from T_(b1) to T_(b2), the overlapping time is T_(b2)−T_(b1). The overlapping time calculation unit 12 outputs information on the overlapping time to the determination unit 13.

The determination unit 13 is a processing unit configured to evaluate conversation between speakers A and B based on the overlapping time. For example, when the overlapping time is equal to or longer than a predetermined time, the determination unit 13 evaluates that the speech of speaker A is interrupted by speaker B or the speech of speaker B is interrupted by speaker A. A citation list includes Japanese Laid-open Patent Publication Nos. 2016-133774, 2006-209332, 2011-254342, and 2002-278547, U.S. Patent Application Publication No. 2016/0217791 and 2002/0172372.

SUMMARY

According to an aspect of the invention, an information processing apparatus includes a memory, and a processor coupled to the memory and configured to specify a first signal level of a first voice signal, specify a second signal level of a second voice signal, and execute evaluation of at least one of the first voice signal and the second voice signal based on at least one of a sum of the first signal level and the second signal level and an average of the first signal level and the second signal level.

The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an exemplary system according to Embodiment 1;

FIG. 2 is a functional block diagram illustrating the configuration of an evaluation device according to Embodiment 1;

FIG. 3 is a diagram illustrating an exemplary evaluation table according to Embodiment 1;

FIG. 4 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 1;

FIG. 5 is a diagram illustrating an exemplary system according to Embodiment 2;

FIG. 6 is a functional block diagram illustrating the configuration of an evaluation device according to Embodiment 2;

FIG. 7 is a diagram illustrating an exemplary evaluation table according to Embodiment 2;

FIG. 8 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 2;

FIG. 9 is a diagram illustrating an exemplary system according to Embodiment 3;

FIG. 10 is a functional block diagram illustrating the configuration of an evaluation device according to Embodiment 3;

FIG. 11 is a diagram illustrating the relation between autocorrelation and a shift amount;

FIG. 12 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 3;

FIG. 13 is a diagram illustrating an exemplary hardware configuration of a computer configured to achieve functions same as those of an evaluation device;

FIG. 14 is a diagram for description of an exemplary conventional technology; and

FIG. 15 is a diagram for description of processing at an overlapping time calculation unit.

DESCRIPTION OF EMBODIMENTS

The conventional technology described above is unable to evaluate conversational impression related to interruption.

For example, when speakers A and B simultaneously speak, speaker B tends to have impression that speech of speaker B is interrupted, as the voice of speaker A is larger.

When feeling that their conversation is interrupted while making long speech, people are likely to speak an important interval as part of the speech, such as a word or a phrase, with particularly large voice. For example, in an interval in which the voice of speaker A is large while speakers A and B simultaneously speak, speaker A tends to have impression that speech of speaker A is interrupted.

It is difficult to detect the above-described conversational impression related to interruption by comparing an overlapping time with a threshold as in the conventional technology.

Embodiment 1

FIG. 1 is a diagram illustrating an exemplary system according to Embodiment 1. As illustrated in FIG. 1, this system includes a terminal device 50 a, a terminal device 50 b, and an evaluation device 100. The terminal device 50 a, the terminal device 50 b, and the evaluation device 100 are mutually coupled.

The terminal device 50 a is a terminal device used by speaker A when performing conversation with speaker B. The terminal device 50 a is coupled with a speaker 20 a and a microphone 25 a. The terminal device 50 a includes a reception unit 51 a and a transmission unit 52 a.

The reception unit 51 a is a processing unit configured to receive a voice signal of speaker B from the terminal device 50 b. The reception unit 51 a outputs voice of speaker B by outputting the voice signal of speaker B to the speaker 20 a.

The transmission unit 52 a is a processing unit configured to acquire a voice signal of speaker A collected by the microphone 25 a and output the acquired voice signal of speaker A to the terminal device 50 b.

The terminal device 50 b is a terminal device used by speaker B when performing conversation with speaker A. The terminal device 50 b is coupled with a speaker 20 b and a microphone 25 b. The terminal device 50 b includes a reception unit 51 b and a transmission unit 52 b.

The reception unit 51 b is a processing unit configured to receive a voice signal of speaker A from the terminal device 50 a. The reception unit 51 b outputs voice of speaker A by outputting the voice signal of speaker A to the speaker 20 b.

The transmission unit 52 b is a processing unit configured to acquire a voice signal of speaker B collected by the microphone 25 b and output the acquired voice signal of speaker B to the terminal device 50 a.

In the following description, a voice signal of speaker A is referred to as a “first voice signal”, and a voice signal of speaker B is referred to as a “second voice signal”.

The evaluation device 100 is a device configured to acquire the first voice signal and the second voice signal and evaluate impression of conversation between speakers A and B based on the first and second voice signals.

FIG. 2 is a functional block diagram illustrating the configuration of the evaluation device according to Embodiment 1. As illustrated in FIG. 2, this evaluation device 100 includes acceptance units 110 a and 110 b, a storage unit 120, acquisition units 130 a and 130 b, and signal level calculation units 140 a and 140 b. The evaluation device 100 includes an addition unit 150, an evaluation unit 160, and a display unit 170.

The acceptance unit 110 a is a processing unit configured to accept the first voice signal from the terminal device 50 a. The acceptance unit 110 a registers the first voice signal to a voice buffer 120 a of the storage unit 120.

The acceptance unit 110 b is a processing unit configured to accept the second voice signal from the terminal device 50 b. The acceptance unit 110 b registers the second voice signal to a voice buffer 120 b of the storage unit 120.

The storage unit 120 includes the voice buffer 120 a and the voice buffer 120 b. The storage unit 120 corresponds to a semiconductor memory element such as a random access memory (RAM), a read only memory (ROM), or a flash memory, or a storage device such as a hard disk drive (HDD).

The voice buffer 120 a is a buffer configured to store the first voice signal. The voice buffer 120 b is a buffer configured to store the second voice signal.

The acquisition unit 130 a is a processing unit configured to acquire the first voice signal stored in the voice buffer 120 a and output the acquired first voice signal to the signal level calculation unit 140 a.

The acquisition unit 130 b is a processing unit configured to acquire the second voice signal stored in the voice buffer 120 b and output the acquired second voice signal to the signal level calculation unit 140 b.

The signal level calculation unit 140 a is a processing unit configured to calculate the power of the first voice signal. For example, the signal level calculation unit 140 a is a processing unit configured to divide the first voice signal into a plurality of frames each having a predetermined length and calculate a power S₁(n) for each frame. The signal level calculation unit 140 a outputs the power S₁(n) to the addition unit 150.

For example, the signal level calculation unit 140 a calculates the power S₁(n) based on Expression (1). In Expression (1), C₁(t) represents the value of the first voice signal at time t, n represents the frame number, and M represents the time length of one frame. For example, the time length of one frame is 20 ms.

[Math  1] $\begin{matrix} {{S_{1}(n)} = {10{\log_{10}\left( {\sum\limits_{t = {n*M}}^{{{({n + 1})}*M} - 1}\;{C_{1}(t)}^{2}} \right)}}} & (1) \end{matrix}$

The signal level calculation unit 140 a may temporally smooth the power S₁(n) by using a predetermined smoothing coefficient, and output the temporally smoothed power S₁(n) to the addition unit 150.

The signal level calculation unit 140 b is a processing unit configured to calculate the power of the second voice signal. For example, the signal level calculation unit 140 b is a processing unit configured to divide the second voice signal into a plurality of frames each having a predetermined length and calculate a power S₂(n) for each frame. The signal level calculation unit 140 b outputs the power S₂(n) to the addition unit 150.

For example, the signal level calculation unit 140 b calculates the power S₂(n) based on Expression (2). In Expression (2), C₂(t) represents the value of the second voice signal at time t, n represents the frame number, and M represents the time length of one frame. For example, the time length of one frame is 20 ms.

[Math  2] $\begin{matrix} {{S_{2}(n)} = {10{\log_{10}\left( {\sum\limits_{t = {n*M}}^{{{({n + 1})}*M} - 1}\;{C_{2}(t)}^{2}} \right)}}} & (2) \end{matrix}$

The signal level calculation unit 140 b may temporally smooth the power S₂(n) by using a predetermined smoothing coefficient, and output the temporally smoothed power S₂(n) to the addition unit 150.

The addition unit 150 is a processing unit configured to add the power of the first voice signal S₁(n) and the power of the second voice signal S₂(n). For example, the addition unit 150 calculates a sum S(n) of each frame based on Expression (3). The addition unit 150 outputs the sum S(n) to the evaluation unit 160. S(n)=S ₁(n)+S ₂(n)  (3)

The evaluation unit 160 is a processing unit configured to specify a continuation time in which the sum S(n) exceeds a threshold TH1, and evaluate impression of the first voice signal or the second voice signal based on the specified continuation time. The evaluation unit 160 outputs a result of the evaluation to the display unit 170. The following describes exemplary processing at the evaluation unit 160.

The evaluation unit 160 calculates a start frame Ts at which the sum S(n) exceeds the threshold TH1. For example, the evaluation unit 160 specifies the frame number n of a frame satisfying Condition 1 below and sets the specified frame number n to the start frame Ts. The threshold TH1 is 20 dB. {S(n−1)≤TH1}Λ{S(n)>TH1}  (Condition 1)

After having specified the start frame Ts, the evaluation unit 160 calculates an end frame Te at which the sum S(n) becomes equal to or smaller than the threshold TH1. For example, the evaluation unit 160 specifies the frame number n of a frame satisfying Condition 2, and sets the frame number n−1 to the end frame Te. {S(n−1)>TH1}Λ{S(n)≤TH1}  (Condition 2)

The evaluation unit 160 calculates a continuation time CL based on the difference between the start frame Ts and the end frame Te. For example, the evaluation unit 160 calculates the continuation time CL based on Expression (4). Continuation time CL=Te−Ts  (4)

The evaluation unit 160 evaluates the impression of speech of speaker A by comparing the continuation time CL with a predetermined threshold. For example, the evaluation unit 160 evaluates the impression of speech of speaker A by using an evaluation table. Alternatively, the evaluation unit 160 may calculate a ratio of the powers of the first and second voice signals and specify a speaker as an evaluation target based on the ratio. For example, when the ratio is higher for the power of the first voice signal corresponding to speaker A, the impression of speech may be evaluated for speaker A.

FIG. 3 is a diagram illustrating an exemplary evaluation table according to Embodiment 1. As illustrated in FIG. 3, the evaluation unit 160 evaluates the impression of speech of speaker A to be “normal” when the length (CL) of the continuation time is “equal to or longer than zero second and less than two seconds”. The evaluation unit 160 evaluates the impression of speech of speaker A to be “rather bad” when the length (CL) of the continuation time is “equal to or longer than two seconds and less than four seconds”. The evaluation unit 160 evaluates the impression of speech of speaker A to be “significantly bad” when the length (CL) of the continuation time is “equal to or longer than four seconds”.

Lengths of the continuation time in the evaluation table illustrated in FIG. 3 are exemplary and may be updated by an administrator as appropriate. The evaluation unit 160 may evaluate the impression of speech of speaker B in the same manner that for speaker A.

The display unit 170 is a display device configured to display a result of evaluation by the evaluation unit 160. For example, the display unit 170 corresponds to a liquid crystal display or a touch panel.

For example, the acceptance units 110 a and 110 b, the acquisition units 130 a and 130 b, the signal level calculation units 140 a and 140 b, and the addition unit 150, the evaluation unit 160 correspond to a control unit. The control unit may be achieved by, for example, a central processing unit (CPU) or a micro processing unit (MPU). Alternatively, the control unit may be achieved by a hard wired logic such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).

The following describes an exemplary procedure of processing at the evaluation device 100 according to Embodiment 1. FIG. 4 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 1. As illustrated in FIG. 4, the acceptance units 110 a and 110 b of the evaluation device 100 record the first and second voice signals in the voice buffers 120 a and 120 b of the storage unit 120 (step S101).

The signal level calculation unit 140 a of the evaluation device 100 calculates the power S₁(n) (step S102). The signal level calculation unit 140 b of the evaluation device 100 calculates the power S₂(n) (step S103).

The addition unit 150 of the evaluation device 100 calculates the sum S(n) of the power S₁(n) and the power S₂(n) (step S104). The evaluation unit 160 of the evaluation device 100 calculates the continuation time CL in which the sum S(n) exceeds the threshold TH1 (step S105).

The evaluation unit 160 evaluates the impression of conversation by speaker A (or speaker B) by comparing the continuation time CL with the evaluation table (step S106). The display unit 170 of the evaluation device 100 displays a result of the evaluation (step S107).

The following describes effects achieved by the evaluation device 100 according to Embodiment 1. The evaluation device 100 specifies the continuation time CL in which the sum S(n) of the power of the first voice signal S₁(n) and the power of the second voice signal S₂(n) exceeds the threshold TH1, and evaluates the impression of the conversation based on the continuation time CL. Accordingly, the impression of the conversation is accurately evaluated. Impression provided by interruption is correlated with the sum of the magnitudes of voice of speakers A and speaker B. It is possible to evaluate that the impression of the conversation is bad, for example, when the voice of one of the speakers is large and the voice of the other speaker is small but a time in which the sum of the magnitudes exceeds the threshold TH1 is long. The evaluation device 100 is capable of detecting such evaluation.

The addition unit 150 may calculate an average S′(n) by dividing the sum S(n) by two. In such a case, the evaluation unit 160 specifies a continuation time in which the average S′(n) exceeds a threshold TH1′, and evaluates the impression of the first voice signal or the second voice signal based on the specified continuation time.

The evaluation device 100 may further execute processing described below. For example, when speakers A and B simultaneously speak, speaker B tends to have impression that speech of speaker B is interrupted, as the voice of speaker A is larger. Thus, when comparison between the continuation time CL and the evaluation table determines impression to be “rather bad or significantly bad”, the evaluation unit 160 may distinguish which of speakers A and speaker B provides bad impression based on the magnitude relation between the first and second voice signals. For example, when the first voice signal is larger than the second voice signal, the evaluation unit 160 evaluates that speaker A provides bad impression. When the second voice signal is larger than the first voice signal, the evaluation unit 160 evaluates that speaker B provides bad impression.

Embodiment 2

FIG. 5 is a diagram illustrating an exemplary system according to Embodiment 2. As illustrated in FIG. 5, this system includes the terminal device 50 a, the terminal device 50 b, and an evaluation device 200. The terminal device 50 a, the terminal device 50 b, and the evaluation device 200 are mutually coupled.

Description of the terminal devices 50 a and 50 b is same as that of the terminal devices 50 a and 50 b in Embodiment 1.

The evaluation device 200 is a device configured to acquire the first and second voice signals and evaluate the impression of conversation between speakers A and B based on the first and second voice signals.

FIG. 6 is a functional block diagram illustrating the configuration of the evaluation device according to Embodiment 2. As illustrated in FIG. 6, this evaluation device 200 includes acceptance units 210 a and 210 b, a storage unit 220, acquisition units 230 a and 230 b, and signal level calculation units 240 a and 240 b. The evaluation device 200 includes an addition unit 250, an evaluation unit 260, and a display unit 270.

The acceptance unit 210 a is a processing unit configured to accept the first voice signal from the terminal device 50 a. The acceptance unit 210 a registers the first voice signal to a voice buffer 220 a of the storage unit 220.

The acceptance unit 210 b is a processing unit configured to accept the second voice signal from the terminal device 50 b. The acceptance unit 210 b registers the second voice signal to a voice buffer 220 b of the storage unit 220.

The storage unit 220 includes the voice buffer 220 a and the voice buffer 220 b. The storage unit 220 corresponds to a semiconductor memory element such as a RAM, a ROM, or a flash memory, or a storage device such as a HDD.

The voice buffer 220 a is a buffer configured to store the first voice signal. The voice buffer 220 b is a buffer configured to store the second voice signal.

The acquisition unit 230 a is a processing unit configured to acquire the first voice signal stored in the voice buffer 220 a and output the acquired first voice signal to the signal level calculation unit 240 a.

The acquisition unit 230 b is a processing unit configured to acquire the second voice signal stored in the voice buffer 220 b and output the acquired second voice signal to the signal level calculation unit 240 b.

The signal level calculation unit 240 a is a processing unit configured to calculate the signal to noise ratio (SNR) of the first voice signal. The following describes exemplary processing at the signal level calculation unit 240 a.

The signal level calculation unit 240 a divides the first voice signal into a plurality of frames each having a predetermined length, and calculates the power S₁(n) for each frame. Similarly to the signal level calculation unit 140 a, the signal level calculation unit 240 a calculates the power S₁(n) based on Expression (1).

The signal level calculation unit 240 a determines the existence of a speech interval based on the power S₁(n). For example, when Condition 3 is satisfied, the signal level calculation unit 240 a determines that speech exists in the n-th frame. When Condition 3 is not satisfied, the signal level calculation unit 240 a determines that no speech exists in the n-th frame. S ₁(n)>TH1  (Condition 3)

The signal level calculation unit 240 a updates a noise level N₁(n) based on the existence of speech. Specifically, when speech exists, the signal level calculation unit 240 a updates the noise level N₁(n) based on Expression (5). When no speech exists, the signal level calculation unit 240 a updates the noise level N₁(n) based on Expression (6). In Expression (5), COF₁ represents a forgetting coefficient for calculating a long-term power average. For example, COF₁ is “0.9”. The use of the forgetting coefficient allows the long-term power average of a frame with no speech to be calculated as a noise level. N ₁(n)=N ₁(n−1)×COF ₁ +S ₁(n)×(1−COF ₁)  (5) N ₁(n)=N ₁(n−1)  (6)

The signal level calculation unit 240 a calculates SNR₁(n) from the difference between the power S₁(n) and the noise level N₁(n). Specifically, the signal level calculation unit 240 a calculates SNR₁(n) based on Expression (7). The signal level calculation unit 240 a outputs SNR₁(n) to the addition unit 250. SNR₁(n)=S ₁(n)−N ₁(n)  (7)

The signal level calculation unit 240 b is a processing unit configured to calculate the SNR of the second voice signal. The following describes exemplary processing at the signal level calculation unit 240 b.

The signal level calculation unit 240 b divides the second voice signal into a plurality of frames each having a predetermined length, and calculates the power S₂(n) for each frame. Similarly to the signal level calculation unit 140 b, the signal level calculation unit 240 b calculates the power S₂(n) based on Expression (2).

The signal level calculation unit 240 b determines the existence of a speech interval based on the power S₂(n). For example, the signal level calculation unit 240 b determines that speech exists in the n-th frame when Condition 4 is satisfied. When Condition 4 is not satisfied, the signal level calculation unit 240 b determines that no speech exists in the n-th frame. S ₂(n)>TH1  (Condition 4)

The signal level calculation unit 240 b updates a noise level N₂(n) based on the existence of speech. Specifically, when speech exists, the signal level calculation unit 240 b updates the noise level N₂(n) based on Expression (8). When no speech exists, the signal level calculation unit 240 b updates the noise level N₂(n) based on Expression (9). In Expression (8), COF₂ represents a forgetting coefficient for calculating a long-term power average. For example, COF₂ is “0.9”. N ₂(n)=N ₂(n−1)×COF ₂ +S ₂(n)×(1−COF ₂)  (8) N ₂(n)=N ₂(n−1)  (9)

The signal level calculation unit 240 b calculates SNR₂(n) from the difference between the power S₂(n) and the noise level N₂(n). Specifically, the signal level calculation unit 240 b calculates SNR₂(n) based on Expression (10). The signal level calculation unit 240 b outputs SNR₂(n) to the addition unit 250. SNR₂(n)=S ₂(n)−N ₂(n)  (10)

The addition unit 250 is a processing unit configured to add SNR₁(n) and SNR₂(n). For example, the addition unit 250 calculates the sum SNR(n) of SNR₁(n) and SNR₂(n) based on Expression (11). The addition unit 250 outputs the sum SNR(n) to the evaluation unit 260. SNR(n)=SNR₁(n)+SNR₂(n)  (11)

The evaluation unit 260 is a processing unit configured to calculate a frequency that the sum SNR(n) exceeds a threshold TH2, and evaluate the impression of the first voice signal or the second voice signal based on the frequency. The evaluation unit 260 outputs a result of the evaluation to the display unit 270. The following describes exemplary processing at the evaluation unit 260.

The evaluation unit 260 calculates a frequency R(i) based on Expression (12). In Expression (12), i represents the serial number of a unit time, and L represents the frame length of a unit time. For example, the frame length of a unit time is 10 seconds.

[Math  3] $\begin{matrix} {{R(i)} = \left. {\frac{1}{L*M}{\sum\limits_{n = {i*L}}^{{{({i + 1})}*L} - 1}\; M}} \middle| {{{if}\mspace{14mu}{{SNR}(n)}} > {{TH}\; 2}} \right.} & (12) \end{matrix}$

The evaluation unit 260 may calculate the frequency R(i) by using Expression (13) in place of Expression (12). For example, the total number of frames in the i-th unit time L is 500. R(i)=“the number of frames in which the sum SNR(n) exceeds the threshold TH2”/“the total number of frames in the i-th unit time L” in the i-th unit time L  (13)

The evaluation unit 260 evaluates the impression of speech of speaker A by comparing the frequency R(i) with a predetermined threshold. For example, the evaluation unit 260 evaluates the impression of speech of speaker A by using an evaluation table.

FIG. 7 is a diagram illustrating an exemplary evaluation table according to Embodiment 2. As illustrated in FIG. 7, the evaluation unit 260 evaluates the impression of speech of speaker A to be “normal” when the frequency R(i) is “equal to or higher than X1 and lower than X2”. The evaluation unit 260 evaluates the impression of speech of speaker A to be “rather bad” when the frequency R(i) is “equal to or higher than X2 and lower than X3”. The evaluation unit 260 evaluates the impression of speech of speaker A to be “significantly bad” when the frequency R(i) is “equal to or higher than X3”. For example, in FIG. 7, X1, X2, and X3 have a magnitude relation of X1<X2<X3.

The evaluation unit 260 may evaluate the impression of speech of speaker B in a manner same as that for speaker A.

When calculating the frequency R(i), the evaluation unit 260 may exclude any certain interval in advance. In this internal, a continuation time in which the sum SNR(n) exceeds the threshold TH2 is shorter than a predetermined threshold (for example, one seconds). Such an interval includes short speech such as backchannels of “yes”, “right”, and the like, and thus it is possible to improve the accuracy of impression evaluation by excluding speech in the interval.

The display unit 270 is a display device configured to display a result of the evaluation by the evaluation unit 260. For example, the display unit 270 corresponds to a liquid crystal display or a touch panel.

For example, the acceptance units 210 a and 210 b, the acquisition units 230 a and 230 b, the signal level calculation units 240 a and 240 b, the addition unit 250, and the evaluation unit 260 correspond to a control unit. The control unit may be achieved by, for example, a CPU or an MPU. Alternatively, the control unit may be achieved by a hard wired logic such as an ASIC or an FPGA.

The following describes an exemplary procedure of processing at the evaluation device 200 according to Embodiment 2. FIG. 8 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 2. As illustrated in FIG. 8, the acceptance units 210 a and 210 b of the evaluation device 200 record the first and second voice signals in the voice buffers 220 a and 220 b of the storage unit 220 (step S201).

The signal level calculation unit 240 a of the evaluation device 200 calculates SNR₁(n) (step S202). The signal level calculation unit 240 b of the evaluation device 200 calculates SNR₂(n) (step S203).

The addition unit 250 of the evaluation device 200 calculates the sum SNR(n) of SNR₁(n) and SNR₂(n) (step S204). The evaluation unit 260 of the evaluation device 200 calculates the frequency R(i) that the sum SNR(n) exceeds the threshold TH2 (step S205).

The evaluation unit 260 evaluates the impression of conversation by speaker A (or speaker B) by comparing the frequency R(i) with an evaluation table (step S206). The display unit 270 of the evaluation device 200 displays a result of the evaluation (step S207).

The following describes effects achieved by the evaluation device 200 according to Embodiment 2. The evaluation device 200 specifies the frequency R(i) that the sum SNR(n) of SNR₁(n) of the first voice signal and SNR₂(n) of the second voice signal exceeds the threshold TH2, and evaluates the impression of the conversation based on the frequency R(i). Accordingly, the impression of the conversation is accurately evaluated. For example, it is possible to evaluate that the impression of the conversation is bad when the voice of one of the speakers is large and the voice of the other speaker is small but the frequency that the sum SNR(n) exceeds the threshold TH2 is high. The evaluation device 200 is capable of detecting such evaluation.

The addition unit 250 may calculate an average SNR′(n) by dividing the sum SNR(n) by two. In such a case, the evaluation unit 260 specifies a frequency that the average SNR′(n) exceeds a threshold TH2′, and evaluates the impression of the first voice signal or the second voice signal based on the specified frequency.

When performing the frequency calculation, the evaluation unit 260 may exclude predetermined durations at start and end of a speech interval. For example, the evaluation unit 260 specifies a frequency that the sum SNR(n) or the average SNR′(n) exceeds a predetermined threshold in a time slot between a first time a predetermined time after the time of start of a speech interval and a second time a predetermined time before the time of end of the speech interval.

Embodiment 3

FIG. 9 is a diagram illustrating an exemplary system according to Embodiment 3. As illustrated in FIG. 9, this system includes the terminal device 50 a, the terminal device 50 b, and an evaluation device 300. The terminal device 50 a, the terminal device 50 b, and the evaluation device 300 are mutually coupled. Embodiment 3 describes an example in which speaker A is an operator, and speaker B is a customer.

Description of the terminal devices 50 a and 50 b is same as that of the terminal devices 50 a and 50 b in Embodiment 1.

The evaluation device 300 is a device configured to acquire the first and second voice signals and evaluate the impression of conversation between speakers A and B based on the first and second voice signals.

FIG. 10 is a functional block diagram illustrating the configuration of the evaluation device according to Embodiment 3. As illustrated in FIG. 10, the evaluation device 300 includes acceptance units 310 a and 310 b, a storage unit 320, acquisition units 330 a and 330 b, and signal level calculation units 340 a and 340 b. The evaluation device 300 includes an addition unit 350, an evaluation unit 360, and a display unit 370.

The acceptance unit 310 a is a processing unit configured to accept the first voice signal from the terminal device 50 a. The acceptance unit 310 a registers the first voice signal to a voice buffer 320 a of the storage unit 320.

The acceptance unit 310 b is a processing unit configured to accept the second voice signal from the terminal device 50 b. The acceptance unit 310 b registers the second voice signal to a voice buffer 320 b of the storage unit 320.

The storage unit 320 includes the voice buffer 320 a and the voice buffer 320 b. The storage unit 320 corresponds to a semiconductor memory element such as a RAM, a ROM, or a flash memory, or a storage device such as a HDD.

The voice buffer 320 a is a buffer configured to store the first voice signal. The voice buffer 320 b is a buffer configured to store the second voice signal.

The acquisition unit 330 a is a processing unit configured to acquire the first voice signal stored in the voice buffer 320 a and output the acquired first voice signal to the signal level calculation unit 340 a.

The acquisition unit 330 b is a processing unit configured to acquire the second voice signal stored in the voice buffer 320 b and output the acquired second voice signal to the signal level calculation unit 340 b.

The signal level calculation unit 340 a is a processing unit configured to calculate the value of autocorrelation of the first voice signal. For example, the signal level calculation unit 340 a calculates the autocorrelation of the first voice signal, and calculates a maximum autocorrelation value AC₁(n) at a shift amount in a predetermined range. The signal level calculation unit 340 a calculates the autocorrelation value AC₁(n) based on Expression (14). In Expression (14), C₁(t) represents the value of the first voice signal at time t, and j represents the shift amount.

[Math  4] $\begin{matrix} {{{AC}_{1}(n)} = {\max\limits_{j = {1 \sim K}}\left\{ {\sum\limits_{t = {n*M}}^{{{({n + 1})}*M} - 1}\;{{C_{1}(t)} \cdot {C_{1}\left( {t + j} \right)}}} \right\}}} & (14) \end{matrix}$

FIG. 11 is a diagram illustrating the relation between the autocorrelation and the shift amount. In FIG. 11, the vertical axis represents the value of the autocorrelation, and the horizontal axis represents the shift amount. In the example illustrated in FIG. 11, the autocorrelation takes the maximum value (autocorrelation value AC₁(n)) when the shift amount is j_(α). The signal level calculation unit 340 a outputs the autocorrelation value AC₁(n) to the addition unit 350.

The signal level calculation unit 340 b is a processing unit configured to calculate the value of autocorrelation of the second voice signal. For example, the signal level calculation unit 340 b calculates the autocorrelation of the second voice signal, and calculates a maximum autocorrelation value AC₂(n) at a shift amount in a predetermined range. The signal level calculation unit 340 b calculates the autocorrelation value AC₂(n) based on Expression (15). In Expression (15), C₂(t) represents the value of the second voice signal at time t, and j represents the shift amount.

[Math  5] $\begin{matrix} {{{AC}_{2}(n)} = {\max\limits_{j = {1 \sim K}}\left\{ {\sum\limits_{t = {n*M}}^{{{({n + 1})}*M} - 1}\;{{C_{2}(t)} \cdot {C_{2}\left( {t + j} \right)}}} \right\}}} & (15) \end{matrix}$

The signal level calculation unit 340 b outputs the autocorrelation value AC₂(n) to the addition unit 350.

The addition unit 350 is a processing unit configured to perform weighting on the autocorrelation value AC₁(n) and the autocorrelation value AC₂(n) and then add the autocorrelation value AC₁(n) and the autocorrelation value AC₂(n). For example, the addition unit 350 calculates a sum AC(n) based on Expression (16). The addition unit 350 outputs the sum AC(n) to the evaluation unit 360. AC(n)=k ₁ ×AC ₁(n)+k ₂ ×AC ₂(n)  (16)

In Expression (16), k₁ and k₂ represent weighting coefficients. For example, k₁ is 1.5 and k₂ is 0.5.

The evaluation unit 360 is a processing unit configured to calculate a frequency that the sum AC(n) exceeds a threshold TH3 and evaluate the impression of the first voice signal or the second voice signal based on the frequency. The evaluation unit 360 outputs a result of the evaluation to the display unit 370. The following describes exemplary processing at the evaluation unit 360.

The evaluation unit 360 calculates the frequency R(i) based on Expression (17). In Expression (17), i represents the serial number of a unit time, and L represents the frame length of a unit time. For example, the frame length of a unit time is 10 seconds.

[Math  6] $\begin{matrix} {{R(i)} = \left. {\frac{1}{L*M}{\sum\limits_{n = {i*L}}^{{{({i + 1})}*L} - 1}\; M}} \middle| {{{if}\mspace{14mu}{{AC}(n)}} > {{TH}\; 3}} \right.} & (17) \end{matrix}$

The evaluation unit 360 may calculate the frequency R(i) by using Expression (18) in place of Expression (17). For example, the total number of frames in the i-th unit time L is 500. R(i)=“the number of frames in which the sum AC(n) exceeds the threshold TH3”/“the total number of frames in the i-th unit time L” in the i-th unit time L  (18)

The evaluation unit 360 evaluates the impression of speech of speaker A by comparing the frequency R(i) with a predetermined threshold. For example, the evaluation unit 360 evaluates the impression of speech of speaker A by using an evaluation table. For example, the evaluation table corresponds to the evaluation table described with reference to FIG. 7.

The evaluation unit 260 may evaluate the impression of speech of speaker B in a manner same as that of speaker A.

When calculating the frequency R(i), the evaluation unit 360 may exclude any certain interval in advance. In this interval, a continuation time in which the sum AC(n) exceeds the threshold TH3 is shorter than a predetermined threshold (for example, one second). Such an interval includes short speech such as backchannels of “yes”, “right”, and the like, and thus it is possible to improve the accuracy of impression evaluation by excluding speech in the interval.

The display unit 370 is a display device configured to display a result of the evaluation by the evaluation unit 360. For example, the display unit 370 corresponds to a liquid crystal display or a touch panel.

For example, the acceptance units 310 a and 310 b, the acquisition units 330 a and 330 b, the signal level calculation units 340 a and 340 b, the addition unit 350, and the evaluation unit 360 correspond to a control unit. The control unit may be achieved by, for example, a CPU or a MPU. Alternatively, the control unit may be achieved by a hard wired logic such as an ASIC or an FPGA.

The following describes an exemplary procedure of processing at the evaluation device 300 according to Embodiment 3. FIG. 12 is a flowchart illustrating the procedure of processing at the evaluation device according to Embodiment 3. As illustrated in FIG. 12, the acceptance units 310 a and 310 b of the evaluation device 300 record the first and second voice signals in the voice buffers 320 a and 320 b of the storage unit 320 (step S301).

The signal level calculation unit 340 a of the evaluation device 300 calculates AC₁(n) (step S302). The signal level calculation unit 340 b of the evaluation device 300 calculates AC₂(n) (step S303).

The addition unit 350 of the evaluation device 300 multiplies AC₁(n) by the weight k₁ (step S304). The addition unit 350 multiplies AC₂(n) by the weight k₂ (step S305). The addition unit 350 calculates the sum AC(n) (step S306).

The evaluation unit 360 of the evaluation device 300 calculates the frequency R(i) that the sum AC(n) exceeds the threshold TH3 (step S307).

The evaluation unit 360 evaluates the impression of conversation by speaker A (or speaker B) by comparing the frequency R(i) with an evaluation table (step S308). The display unit 370 of the evaluation device 300 displays a result of the evaluation (step S309).

The following describes effects achieved by the evaluation device 300 according to Embodiment 3. The evaluation device 300 specifies the frequency R(i) that the sum AC(n) of AC₁(n) of the first voice signal and AC₂(n) of the second voice signal exceeds the threshold TH3, and evaluates the impression of the conversation based on the frequency R(i). Accordingly, the impression of the conversation is accurately evaluated. For example, it is possible to evaluate that the impression of the conversation is bad when the voice of one of the speakers is large and the voice of the other speaker is small but the frequency that the sum AC(n) exceeds the threshold TH3 is high. The evaluation device 300 is capable of detecting such evaluation.

When the weight k₁ of the autocorrelation value AC₁(n) for the first voice signal of speaker A (operator) is larger than the weight k₂ of the autocorrelation value AC₂(n) for the second voice signal of speaker B (customer), effects as follows are obtained. Specifically, it is possible to perform impression evaluation more focused on the influence of interruption of the voice of the customer by the operator than on the influence of interruption of the voice of the operator by the customer. Accordingly, it is expected to effectively utilize the evaluation in handling training of the operator.

The addition unit 350 may calculate an average AC′(n) by dividing the sum AC(n) by two. In such a case, the evaluation unit 360 specifies a frequency that the average AC′(n) exceeds a threshold TH3′, and evaluates the impression of the first voice signal or the second voice signal based on the specified frequency.

The following describes an exemplary hardware configuration of a computer configured to achieve functions same as those of the evaluation device 100 (200, 300) described above in the embodiments. FIG. 13 is a diagram illustrating an exemplary hardware configuration of the computer configured to achieve the functions same as those of the evaluation device.

As illustrated in FIG. 13, a computer 400 includes a CPU 401 configured to execute various kinds of arithmetic processing, an input device 402 configured to accept inputting of data from a user, and a display 403. The computer 400 also includes a reading device 404 configured to read a computer program or the like from a storage medium, and an interface device 405 configured to communicate data with an external device. The computer 400 also includes a RAM 406 configured to temporarily store various kinds of information, and a hard disk device 407. The devices 401 to 407 are coupled with a bus 408.

The hard disk device 407 includes a signal level calculation program 407 a, an addition program 407 b, and an evaluation program 407 c. The CPU 401 reads and loads the signal level calculation program 407 a, the addition program 407 b, and the evaluation program 407 c onto the RAM 406.

The signal level calculation program 407 a functions as a signal level calculation process 406 a. The addition program 407 b functions as an addition process 406 b. The evaluation program 407 c functions as an evaluation process 406 c.

Processing at the signal level calculation process 406 a corresponds to the processing at the signal level calculation units 140 a and 140 b (240 a and 240 b; 340 a and 340 b). Processing at the addition process 406 b corresponds to the processing at the addition unit 150 (250, 350). Processing at the evaluation process 406 c corresponds to the processing at the evaluation unit 160 (260, 360).

The programs 407 a to 407 c do not necessarily have to be stored in the hard disk device 407 from the start. For example, each program is stored in a “portable physical medium” to be inserted into the computer 400, such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disc, or an IC card. Then, the programs 407 a to 407 c may be each read and executed by the computer 400.

All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention. 

What is claimed is:
 1. An information processing apparatus comprising: a memory; and a processor coupled to the memory and configured to: specify a first signal level of a first voice signal; specify a second signal level of a second voice signal; execute evaluation of at least one of the first voice signal and the second voice signal based on at least one of a sum of the first signal level and the second signal level and an average of the first signal level and the second signal level; specify a frequency that at least one of the sum and the average exceeds a threshold; and execute the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified frequency.
 2. The information processing apparatus according to claim 1, wherein the processor is configured to: specify a ratio of the first signal level and the second signal level; and execute the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified ratio.
 3. The information processing apparatus according to claim 1, wherein the processor is configured to: specify a time period for which at least one of the sum and the average continuously exceeds a threshold; and execute the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified time period.
 4. The information processing apparatus according to claim 1, wherein the processor is configured to specify the frequency that at least one of the sum and the average exceeds the threshold in a duration excluding a time slot, the time period being shorter than a certain time length in the time slot.
 5. The information processing apparatus according to claim 1, wherein the processor is configured to specify the frequency that at least one of the sum and the average exceeds the threshold in a time slot between a first time a certain time after a time of start of a speech interval and a second time a certain time before a time of end of the speech interval.
 6. The information processing apparatus according to claim 1, wherein the processor is configured to: specify the power of the first voice signal as the first signal level; and specify the power of the second voice signal as the second signal level.
 7. The information processing apparatus according to claim 1, wherein the processor is configured to specify a signal to noise ratio of the first voice signal as the first signal level; and specify a signal to noise ratio of the second voice signal as the second signal level.
 8. The information processing apparatus according to claim 1, wherein the processor is configured to: specify a value of autocorrelation of the first voice signal as the first signal level; and specify a value of autocorrelation of the second voice signal as the second signal level.
 9. The information processing apparatus according to claim 1, wherein the processor is configured to: multiply the first signal level by a first coefficient; multiply the second signal level by a second coefficient different from the first coefficient; and specify at least one of the sum and the average based on the multiplied first signal level and the multiplied second signal level.
 10. The information processing apparatus according to claim 1, wherein the evaluation evaluates whether a first speaker of the first voice signal interrupts speech of a second speaker of the second voice signal.
 11. A method executed by a computer, the method comprising: specifying a first signal level of a first voice signal; specifying a second signal level of a second voice signal; executing evaluation of at least one of the first voice signal and the second voice signal based on at least one of a sum of the first signal level and the second signal level and an average of the first signal level and the second signal level; specifying a frequency that at least one of the sum and the average exceeds a threshold; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified frequency.
 12. The method according to claim 11, further comprising: specifying a ratio of the first signal level and the second signal level; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified ratio.
 13. The method according to claim 11, further comprising: specifying a time period for which at least one of the sum and the average continuously exceeds a threshold; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified time period.
 14. The method according to claim 11, further comprising: specifying the frequency that at least one of the sum and the average exceeds the threshold in a duration excluding a time slot, the time period being shorter than a certain time length in the time slot.
 15. A non-transitory computer-readable storage medium storing a program that causes an information processing apparatus to execute a process, the process comprising: specifying a first signal level of a first voice signal; specifying a second signal level of a second voice signal; executing evaluation of at least one of the first voice signal and the second voice signal based on at least one of a sum of the first signal level and the second signal level and an average of the first signal level and the second signal level; specifying a frequency that at least one of the sum and the average exceeds a threshold; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified frequency.
 16. The non-transitory computer-readable storage medium according to claim 15, the process further comprising: specifying a ratio of the first signal level and the second signal level; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified ratio.
 17. The non-transitory computer-readable storage medium according to claim 15, the process further comprising: specifying a time period for which at least one of the sum and the average continuously exceeds a threshold; and executing the evaluation on impressions of at least one of the first voice signal and the second voice signal based on the specified time period. 